home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1999 Spring / macformat-077.iso / Shareware Plus / Development / SpriteWorld 2.2 / SpriteWorld Examples / Shark Attack / Sources & Headers / NewSprite.h < prev    next >
Encoding:
Text File  |  1998-04-18  |  2.0 KB  |  73 lines  |  [TEXT/CWIE]

  1. ///--------------------------------------------------------------------------------------
  2. // Sprite data structures
  3. ///--------------------------------------------------------------------------------------
  4.  
  5. typedef struct SubStruct
  6. {
  7.     SpriteRec        subSprite;
  8.     double            horizPos;
  9.     double            vertPos;
  10.     double            horizDelta;
  11.     double            vertDelta;
  12.     
  13.     short            curDirection;
  14.     short            numBulletsOnScreen;
  15.     short            nextShotDelay;
  16.     Boolean            canShoot;
  17. } SubStruct, *SubStructPtr;
  18.  
  19.  
  20. typedef struct BulletStruct
  21. {
  22.     SpriteRec        bulletSprite;
  23.     SubStructPtr    parentStructP;        // pointer to the parent sub for this bullet
  24. } BulletStruct, *BulletStructPtr;
  25.  
  26.  
  27. typedef struct FishStruct
  28. {
  29.     SpriteRec        fishSprite;
  30.     short            energy;            // When energy is 0, the fish is dead
  31.     short            moveDelay;        // Stop fish if hit until moveDelay is up
  32.     short            hitCounter;        // Set to > 0 when fish is hit, making it flash white
  33. } FishStruct, *FishStructPtr;
  34.  
  35.  
  36. typedef struct SharkStruct
  37. {
  38.     SpriteRec        sharkSprite;
  39.     double            horizPos;
  40.     double            vertPos;
  41.     double            horizDelta;
  42.     double            vertDelta;
  43.     
  44.     short            energy;            // When energy is 0, the shark is dead
  45.     short            moveDelay;        // Slow fish down if hit until moveDelay is up
  46.     short            hitCounter;        // Set to > 0 when fish is hit, making it flash white
  47. } SharkStruct, *SharkStructPtr;
  48.  
  49.  
  50.  
  51. ///--------------------------------------------------------------------------------------
  52. // Defined values
  53. ///--------------------------------------------------------------------------------------
  54.  
  55.  
  56. #define kLeftDirection            0
  57. #define kRightDirection            1
  58.  
  59.  
  60. ///--------------------------------------------------------------------------------------
  61. // Function prototypes
  62. ///--------------------------------------------------------------------------------------
  63.  
  64. void        LoadSprites( void );
  65. void        DisposeSprites( void );
  66. void        SetUpSprite(SpritePtr mySpriteP);
  67.  
  68. SpritePtr    NewSubSprite( void );
  69. SpritePtr    NewBulletSprite( void );
  70. SpritePtr    NewFishSprite( void );
  71. SpritePtr    NewSharkSprite( void );
  72. void        AddTitleSprite( void );
  73.